package cn.com.frame.util;


import java.math.RoundingMode;
import java.text.DecimalFormat;

public class NumberUtil {

    /**
     * 小数位不进行四舍五入
     * @param a
     * @param b
     * @param decimalNumber 保留小数位
     * @return
     */
    public static String multiplicationUp(Double a,Double b,int decimalNumber){

        DecimalFormat formater = new DecimalFormat();
        formater.setMaximumFractionDigits(decimalNumber);//设置某个数的小数部分中所允许的最大数字位数
        formater.setGroupingSize(9);//设置分组大小。分组大小是数的整数部分中分组分隔符之间的数字位数,例如在数 "123,456.78" 中，分组大小是 3
        formater.setRoundingMode(RoundingMode.FLOOR);//此舍入模式始终不会增加计算值。
        return formater.format(a*b);
    }

    /**
     *
     * @param a
     * @param decimalNumber
     * @param defaultValue
     * @return
     */
    public static Double multiplicationUp(Double a,int decimalNumber,Double defaultValue){
        DecimalFormat formater = new DecimalFormat();
        formater.setMaximumFractionDigits(decimalNumber);//设置某个数的小数部分中所允许的最大数字位数
        formater.setGroupingSize(9);//设置分组大小。分组大小是数的整数部分中分组分隔符之间的数字位数,例如在数 "123,456.78" 中，分组大小是 3
        formater.setRoundingMode(RoundingMode.FLOOR);//此舍入模式始终不会增加计算值。
        return Cast.toDouble(formater.format(a),defaultValue) ;
    }
    public static void main(String[] args) {
        System.out.println(multiplicationUp(0.4,97.495,1));

    }
}
